//
//  TFSInstructionsType.swift
//  TFSClient
//
//  Created by Samuel Richard Magny on 15-10-04.
//  Copyright © 2015 Samuel Richard Magny. All rights reserved.
//

import Foundation

public enum TFSInstructionsType: Int, CustomStringConvertible{
    case SetUsername
    case SetPassword
    case ConnectingToTFSServer
    case CloningInto
    case CheckinInto
    case NotingToCheckin
    case FetchingAndMerging
    case Done
    case Unknown
    
    
    public var description : String {
        switch self {
            // Use Internationalization, as appropriate.
        case .SetUsername: return "Setting username"
        case .SetPassword: return "Setting password"
        case .ConnectingToTFSServer: return "Connecting to Team Foundation Server ..."
        case .CloningInto: return "Cloning into"
        case .CheckinInto: return "Checkin in to"
        case .NotingToCheckin: return "Nothing to checkin"
        case .FetchingAndMerging: return "Fetching and merging ..."
        case .Done: return "Done"
        case .Unknown: return "Unknown"
        }
    }
    
    public var instructionID : String {
        switch self {
        case .SetUsername: return "Username: "
        case .SetPassword: return "Password: "
        case .ConnectingToTFSServer: return "Connecting to TFS..."
        case .CloningInto: return "Cloning"
        case .CheckinInto: return "Checking in to $"
        case .NotingToCheckin: return "All files are up to date there is nothing to check in."
        case .FetchingAndMerging: return "Fetching and merging changes in"
        case .Done: return "done."
        case .Unknown: return "Unknown"
        }
    }
}